Date: Tue, 10 Dec 1996 03:26:59 GMT
Server: NCSA/1.4.2
Content-type: text/html

<html>
<head>
<TITLE>The Design and Implementation of Kaleidoscope'90, A Constraint
Imperative Programming Language</title>
</head>

<body>
<H2>The Design and Implementation of Kaleidoscope'90, A Constraint
Imperative Programming Language</H2>

<p>

Authors: Bjorn Freeman-Benson and Alan Borning

<p>

Published in <em>Proceedings of the IEEE Computer Society 1992
International Conference on Computer Languages</em>, April 1992, pages
174-180.

<P>
<hr>

<H3>Abstract</H3>

Two major paradigms in computer programming languages are
<em>imperative</em> and <em>declarative</em> programming.  We describe a
scheme for languages that integrate specific features from these two
paradigms into a new framework: Constraint Imperative Programming.  Along
with the framework, we discuss the design and implementation of a
particular instance of this framework, Kaleidoscope'90.  From the
imperative paradigm, constraint imperative programming adopts explicit
control flow, state, and assignment.  From the declarative paradigm, it
adopts explicit, system-maintained constraints (relations that should
hold).  There is a strong practical motivation for making this integration:
in a typical application, some portions are most clearly described using
imperative constructs, while other portions are most clearly described
using constraints.  By using a constraint imperative language, the most
suitable paradigm can be used as appropriate.

<P>
<HR>
<P>

Click <!WA0><a href=
"ftp://cs.washington.edu/pub/constraints/papers/kaleidoscope-iccl-92.ps.Z">
here</a> to get the postscript file.  (Note: This file is missing one
picture that is in the published paper -- a scroll bar -- but you can
probably muddle along without it.)

<P>

Return to <!WA1><a href="http://www.cs.washington.edu/research/projects/weird/www/index.html">Constraints home page</a>

